﻿CREATE PROCEDURE [dbo].[usp_insert_AlertHistory]
(
	@AlertHistoryID		uniqueidentifier
	,@AlertName			varchar(255)
	,@FaultID			uniqueidentifier
	,@Application		varchar(256)
	,@ServiceName		varchar(256)
	,@Debug				bit			   = 0
)
AS

/****************************************************************************
Name: usp_insert_AlertHistory.sql
Description: 
*****************************************************************************/
SET NOCOUNT ON;

-- Bootstrap
DECLARE @DebugPrefix       varchar(10);
DECLARE @ErrorCode         int;

SET @ErrorCode          = 0;
SET @DebugPrefix        = '>>> DEBUG: ';

-- Print parameters
IF (@Debug > 0)
BEGIN
	PRINT @DebugPrefix + '@AlertName = '	+ @AlertName;
END;



INSERT INTO [dbo].[AlertHistory]
           ([AlertHistoryID]
			,[AlertName]
			,[FaultID]
			,[Application]
			,[ServiceName]
            ,[InsertedDate]
			)
     VALUES
           (@AlertHistoryID
           ,@AlertName
		   ,@FaultID
		   ,@Application
		   ,@ServiceName
			,GetUTCDate()
           )
-- CHECK FOR ERROR
SET @ErrorCode = @@Error;

IF (@ErrorCode <> 0) GOTO ERROR_HANDLER;

RETURN 0;

-- Handles errors.
ERROR_HANDLER:
IF (@ErrorCode <> 0)
BEGIN
    IF (@Debug > 0) 
		BEGIN
			PRINT @DebugPrefix + 'Error Code = ' + CAST(@ErrorCode AS varchar(10)) + ' occurred while executing dbo.usp_insert_AlertHistory.';
			RETURN @ErrorCode
		END

    -- Don't return any evidence of what specific error occurred, i.e. 
    -- we want to ward off potential hackers.
    RETURN 1;
END;

SET NOCOUNT OFF;
